package com.zhitan.ems.app.stat.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhitan.ems.common.annotation.Excel;
import com.zhitan.ems.framework.core.mp.base.BaseEntity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 天统计数据表
 * 
 * @author zhitan
 * 
 * @date 2025-09-19 22:59:37
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("iot_statistics_day")
public class StatisticsDayEntity extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/**
	 * 主键ID
	 */
	@TableId
	@ApiModelProperty("主键ID")
	@Excel(name = "主键ID")
	private Long id;
	/**
	 * 统计时间（天）
	 */
	@ApiModelProperty("统计时间（天）")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "统计时间（天）", width = 30, dateFormat = "yyyy-MM-dd")
	private Date day;
	/**
	 * 0 默认 10 点位  20 虚点 100 分组
	 */
	@Excel(name = "统计类型")
	private Integer statisticsType;
	@Excel(name = "能源类型")
	private Integer energyType;
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date updateAt;
	/**
	 * 协议类型
	 */
	@ApiModelProperty("协议类型")
	@Excel(name = "协议类型")
	private String protocol;
	/**
	 * 设备ID
	 */
	@ApiModelProperty("设备编码")
	@Excel(name = "设备编码")
	private String deviceCode;
	/**
	 * 数据点地址
	 */
	@ApiModelProperty("数据点地址")
	@Excel(name = "数据点地址")
	private String address;
	/**
	 * 平均值
	 */
	@ApiModelProperty("平均值")
	@Excel(name = "平均值")
	private Double averageValue;
	/**
	 * 汇总值（总和）
	 */
	@ApiModelProperty("汇总值（总和）")
	@Excel(name = "汇总值（总和）")
	private Double sumValue;
	/**
	 * 最小值
	 */
	@ApiModelProperty("最小值")
	@Excel(name = "最小值")
	private Double minValue;
	/**
	 * 最大值
	 */
	@ApiModelProperty("最大值")
	@Excel(name = "最大值")
	private Double maxValue;
	/**
	 * 计数
	 */
	@ApiModelProperty("计数")
	@Excel(name = "计数")
	private Long count;
	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date createAt;
	@ApiModelProperty("分组ID")
	@Excel(name = "分组ID")
	private Long groupId;
	/**
	 * 分组名称
	 */
	@ApiModelProperty("分组名称")
	@Excel(name = "分组名称")
	private String groupName;
	private Integer groupType;
	
	@ApiModelProperty("总费用")
	@Excel(name = "总费用")
	private Double costMoney;
	
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "计费时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date costTime;
	@ApiModelProperty("计费状态：是否计算成本 0 默认 1待计算 10 已计算")
	@Excel(name = "计费状态是否计算成本 0 默认 1待计算 10 已计算")
	private Integer costState;
	@ApiModelProperty("计费单位")
	@Excel(name = "计费单位")
	private String costUnit;
	@ApiModelProperty("数据点Code")
	private String dataCode;
	@ApiModelProperty("碳排量")
	@Excel(name = "碳排量")
	private Double carbonEmissions;
}